Page({
  data: {
    currentTab: 0, // 当前选中的标签：0-未使用，1-已使用，2-已过期
    coupons: [] // 优惠券列表
  },

  onLoad: function(options) {
    // 获取用户ID，这里假设存储在全局数据中
    const userId = getApp().globalData.userId || 1;
    // 加载优惠券列表
    this.loadCoupons(userId);
  },

  // 返回上一页
  goBack: function() {
    wx.navigateBack();
  },

  // 切换标签
  switchTab: function(e) {
    const tab = parseInt(e.currentTarget.dataset.tab);
    if (tab === this.data.currentTab) return;
    
    this.setData({
      currentTab: tab
    });

    // 获取用户ID
    const userId = getApp().globalData.userId || 1;
    this.loadCoupons(userId);
  },

  // 加载优惠券列表
  loadCoupons: function(userId) {
    const urls = [
      '/coupons/ByStatus0',
      '/coupons/ByStatus1',
      '/coupons/ByStatus2'
    ];

    wx.request({
      url: `http://localhost:8080${urls[this.data.currentTab]}`,
      method: 'GET',
      data: {
        id: userId
      },
      success: (res) => {
        if (res.statusCode === 200) {
          // 处理日期格式
          const coupons = res.data.map(item => {
            if (item.expireDate) {
              item.expireDate = this.formatDate(item.expireDate);
            }
            return item;
          });
          
          this.setData({
            coupons: coupons
          });
        }
      },
      fail: (err) => {
        console.error('获取优惠券列表失败：', err);
        wx.showToast({
          title: '获取优惠券列表失败',
          icon: 'none'
        });
      }
    });
  },

  // 使用优惠券
  useCoupon: function(e) {
    const couponId = e.currentTarget.dataset.id;
    wx.request({
      url: 'http://localhost:8080/coupons/updateCouponsStatusOne',
      method: 'GET',
      data: {
        id: couponId
      },
      success: (res) => {
        if (res.statusCode === 200) {
          wx.showToast({
            title: '使用成功',
            icon: 'success'
          });
          // 重新加载优惠券列表
          const userId = getApp().globalData.userId || 1;
          this.loadCoupons(userId);
        }
      },
      fail: (err) => {
        console.error('使用优惠券失败：', err);
        wx.showToast({
          title: '使用优惠券失败',
          icon: 'none'
        });
      }
    });
  },

  // 格式化日期
  formatDate: function(dateStr) {
    const date = new Date(dateStr);
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');
    return `${year}.${month}.${day}`;
  }
}); 